#ifndef EnvClient_H
#define EnvClient_H
#include <qDebug>
#include "localTcpClient.h"
#include "CEvtVar.h"
#include "pingger.h"

#define CHARGE_LEFT_SIDE  (0)
#define CHARGE_RIGHT_SIDE (1)

struct env_info
{
    int left_plate;			//0：没有，1：有
    int right_plate;		//0：没有，1：有
    int left_line;			//0：没有压线，1：压线
    int right_line;			//0：没有压线，1：压线
    int left_back_line;		//0：没有压线，1：压线
    int right_back_line;	//0：没有压线，1：压线
    int people;				//0：没有，1：有
};

struct alarm_info
{
    int people;				//0：没有，1：有
};

class EnvClient
{
public:
    EnvClient();
    int init();
    int check_info(int side);
    bool is_connected();
    PINGGER pingger;

private:
    CEvtVar evtVar;
    char mData[2048] = {};
    int mDataLen = 0;

    localTcpClient client;
    int localPort = 39999;
    std::string localIP = "192.168.5.100";
    void parseEnvInfo(const char *data, int size);
    int recv_data(char *buf, size_t buf_size);
    struct env_info mInfo;
    bool mInited =false;

    void loadINI();
    void print_base_info();
};

#endif // EnvClient_H
